home *** CD-ROM | disk | FTP | other *** search
- 10 * = $0801
- 20 ;INTEGER BRICK
- 30 ;P
- 40 .S
- 50 .D BRICK
- 60 ;
- 70 TWOA = $3F
- 80 TWOB = $41
- 90 TWOC = $43
- 100 TOP = $45
- 110 CONV = $47
- 120 TOD = $DC08
- 130 CHROUT = $FFD2
- 140 ;
- 150 START .BYTE 11 8 0 0 158:.BYTE "2061":.BYTE 0 0 0
- 160 JMP INIT
- 170 ;
- 180 ADD LDY LENGTH:LDX #$00:CLC
- 190 ADD2 LDA AUGEND,X:ADC ADDEND,X:STA AUGEND,X:INX:DEY:BNE ADD2:BCC ADD3
- 200 LDA #$01:STA AUGEND,X:INX
- 210 ADD3 RTS
- 220 ;
- 230 SUBTRACT LDY LENGTH:LDX #$00:SEC
- 240 SUB2 LDA MINUEND,X:SBC SUBTRAHEND,X:STA MINUEND,X:INX:DEY:BNE SUB2
- 250 SUB3 DEX:BEQ SUB5; .A HOLDS RESULT OF LAST SBC
- 260 SUB4 ORA MINUEND,X:DEX:BNE SUB4
- 270 SUB5 ORA MINUEND,X:RTS
- 280 ;
- 290 ; MULTIPLY ADDEND,Y BY QUOTIENT,X
- 300 MULTIPLY STY LENGTH:STX SHIFT:LDA #$00:LDX #$08:STA COUNT
- 310 MULT2 STA AUGEND,X:DEX:BPL MULT2
- 320 MULT3 LDX SHIFT:DEX:CLC
- 330 MULT4 ROR QUOTIENT,X:DEX:BPL MULT4:BCC MULT5:JSR ADD:STX LENGTH:STX COUNT
- 340 MULT5 LDY LENGTH:LDX #$00:CLC
- 350 MULT6 ROL ADDEND,X:INX:DEY:BNE MULT6:BCC MULT7:ROL ADDEND,X:INC LENGTH
- 360 MULT7 LDA QUOTIENT,Y:BNE MULT3:INY:CPY SHIFT:BNE MULT7:LDA COUNT:RTS
- 370 ;
- 380 ; DIVIDE DIVIDEND,X BY SUBTRAHEND
- 390 DIVIDE STX LENGTH:TXA:ASL:ASL:ASL:STA SHIFT; ALL DIVIDEND BITS TO MINUEND
- 400 DVD2 LDX #$00:LDY LENGTH:CLC
- 410 DVD3 ROL DIVIDEND,X:INX:DEY:BNE DVD3:LDX #$00:LDY LENGTH
- 420 DVD4 ROL MINUEND,X:INX:DEY:BNE DVD4:LDY LENGTH:LDX #$00:SEC
- 430 DVD5 LDA MINUEND,X:SBC SUBTRAHEND,X:INX:DEY:BNE DVD5:BCC DVD6:JSR SUBTRACT
- 440 DVD6 LDX #$00:LDY LENGTH; ROL CARRY TO QUOTIENT, FLAG ZERO RMNDR WHEN DONE
- 450 DVD7 ROL QUOTIENT,X:INX:DEY:BNE DVD7:DEC SHIFT:BNE DVD2:LDA #$00:JMP SUB3
- 460 ;
- 470 ; SQUARE ROOT OF SQRO,X
- 480 SQR STX LENGTH:DEX; FIRST PUT THE SQUARE INTO THE WORK BUFFERS
- 490 SQR2 LDA SQRO,X:STA QUOTIENT,X:STA SQRT,X:DEX:BPL SQR2
- 500 LDA LENGTH:ASL:ASL:ASL; SET UP TO COUNT BITS--TOTAL NUMBER IN .A
- 510 SQR3 LDY LENGTH:LDX #$00:CLC; SBC CARRY FOR ZERO BITS, NO SQR FOR ZERO
- 520 SQR4 ROL QUOTIENT,X:INX:DEY:BNE SQR4:BCS SQR5:SBC #$00:BNE SQR3:RTS
- 530 SQR5 LSR:TAY:DEY; (SIGNIFICANT BITLENGTH/2)-1 NOW IN .Y
- 540 SQR6 LDX LENGTH:DEX:CLC; SHIFT BITS OFF TO THE RIGHT TO FORM APPROXIMATION
- 550 SQR7 ROR SQRT,X:DEX:BPL SQR7:DEY:BNE SQR6:LDA #$04:STA SQUARE
- 560 ; NEWTON'S: DO 4X, SQRT(APPROXIMATION)=(SQRT^2+SQRO)/(2*SQRT)
- 570 SQR8 JSR CLEAR3:LDY LENGTH:LDX #$00:CLC
- 580 SQR9 LDA SQRT,X:STA ADDEND,X:STA QUOTIENT,X:ROL:STA SUBTRAHEND,X:INX:DEY
- 590 BNE SQR9:BCC SQR10:LDA #$01:STA SUBTRAHEND,X:INC LENGTH
- 600 SQR10 LDX LENGTH:TXA:TAY:JSR MULTIPLY:STA LENGTH:TAX:DEX
- 610 SQR11 LDA SQRO,X:STA ADDEND,X:DEX:BPL SQR11:JSR ADD:STX LENGTH:DEX
- 620 SQR12 LDA AUGEND,X:STA DIVIDEND,X:DEX:BPL SQR12
- 630 LDX LENGTH:JSR DIVIDE:LDX LENGTH:DEX
- 640 SQR13 LDA QUOTIENT,X:STA SQRT,X:DEX:BPL SQR13:DEC SQUARE:BNE SQR8
- 650 JSR CLEAR3:LDX LENGTH:DEX; CHECK ACCURACY OF RESULT, REPEAT IF ABOVE ROOT
- 660 SQR14 LDA SQRT,X:STA ADDEND,X:STA QUOTIENT,X:DEX:BPL SQR14
- 670 LDX LENGTH:TXA:TAY:JSR MULTIPLY:STA LENGTH:TAX:DEX
- 680 SQR15 LDA SQRO,X:STA MINUEND,X:LDA AUGEND,X:STA SUBTRAHEND,X:DEX:BPL SQR15
- 690 JSR SUBTRACT:BCS SQR16:LDA #$01:STA SQUARE:JMP SQR8
- 700 SQR16 RTS; WITH ZERO FLAG SET IF RESULT IS EXACT ROOT
- 710 ;
- 720 CLRSQR LDY #$11:LDA #$00; CLEAR SQRT AND SQRO
- 730 CLRSQR2 STA SQRT,Y:DEY:BPL CLRSQR2:RTS
- 740 ;
- 750 CLEAR LDX #$6B:.BYTE 44; CLEAR ALL BUFFERS EXCEPT G
- 760 CLEAR2 LDX #$50:.BYTE 44; CLEAR BELOW F
- 770 CLEAR3 LDX #$35:LDA #$00; CLEAR ALL MATH BUFFERS
- 780 CLEAR4 STA ADDEND,X:DEX:BPL CLEAR4:RTS
- 790 ;
- 800 DISPLAY STA CONV:STX CONV+1:STY LENGTH:LDY #$20:LDA #$00
- 810 DISP2 STA RORBUF,Y:DEY:BPL DISP2:LDY LENGTH:DEY
- 820 DISP3 LDA (CONV),Y:STA RORBUF,Y:DEY:BPL DISP3:LDA #$01:STA BCDBUF
- 830 DISP4 LDX LENGTH:DEX:CLC
- 840 DISP5 ROR RORBUF,X:DEX:BPL DISP5:BCC DISP7:LDY #$0B:LDX #$00:CLC:SED
- 850 DISP6 LDA RESULT,X:ADC BCDBUF,X:STA RESULT,X:INX:DEY:BNE DISP6
- 860 DISP7 LDY #$0B:LDX #$00:CLC:SED
- 870 DISP8 LDA BCDBUF,X:ADC BCDBUF,X:STA BCDBUF,X:INX:DEY:BNE DISP8:CLD
- 880 DISP9 LDA RORBUF,Y:BNE DISP4:INY:CPY LENGTH:BNE DISP9:LDX #$0B
- 890 DISP10 DEX:BEQ DISP11:LDA RESULT,X:BEQ DISP10
- 900 DISP11 LDA RESULT,X:PHA:LSR:LSR:LSR:LSR:BEQ DISP12:ORA #$30:JSR CHROUT
- 910 DISP12 PLA:AND #$0F:ORA #$30:JSR CHROUT:DEX:BMI DISP14
- 920 DISP13 LDA RESULT,X:PHA:LSR:LSR:LSR:LSR:ORA #$30:JSR CHROUT
- 930 PLA:AND #$0F:ORA #$30:JSR CHROUT:DEX:BPL DISP13
- 940 DISP14 RTS
- 950 ;
- 960 TIME LDY #$03
- 970 TIM2 LDA TOD,Y:AND #$7F:PHA:LSR:LSR:LSR:LSR:ORA #$30:JSR CHROUT:PLA
- 980 AND #$0F:ORA #$30:JSR CHROUT:CPY #$02:BCC TIM3:LDA #$3A:.BYTE 44
- 990 TIM3 LDA #$2E:JSR CHROUT:DEY:BNE TIM2:LDA TOD:AND #$0F:ORA #$30:JMP CHROUT
- 1000 ;
- 1010 INIT LDA #$0B:STA $D020:STA $D021:LDA #$9F:JSR CHROUT
- 1020 LDA TOD+7:AND #$7F:STA TOD+7:LDY #$04:LDA #$00
- 1030 INIT2 STA TOD,Y:DEY:BPL INIT2
- 1040 ;
- 1050 NEWG LDA #$93:JSR CHROUT:LDA #$11:JSR CHROUT:JSR CLEAR:JSR CLRSQR
- 1060 LDX #$01:STX TWO:DEX:STX TWOCT:STX TWOCT+1
- 1070 LDA #<TABLE:STA TWOA:LDA #>TABLE:STA TWOA+1:LDX #$00
- 1080 NEWG2 INC G,X:BNE NEWG3:INX:CPX #$04:BCC NEWG2:RTS
- 1090 NEWG3 LDY #$04
- 1100 NEWG4 DEY:LDA G,Y:BEQ NEWG4
- 1110 INY:STY GY:LDA #<G:LDX #>G:JSR DISPLAY:LDA #$20:JSR CHROUT:LDX GY:DEX
- 1120 NEWG5 LDA G,X:STA ADDEND,X:STA QUOTIENT,X:DEX:BPL NEWG5
- 1130 LDX GY:TXA:TAY:JSR MULTIPLY:STA GXY:TAX:DEX
- 1140 NEWG6 LDA AUGEND,X:STA G2,X:DEX:BPL NEWG6
- 1150 JSR CLEAR3:LDX GXY:STX LENGTH:DEX
- 1160 ;
- 1170 FLOW LDA G2,X:STA AUGEND,X:STA ADDEND,X:DEX:BPL FLOW:JSR ADD:STX LENGTH
- 1180 TXA:PHA:DEX; AUGEND NOW 2*G^2
- 1190 FLOW2 LDA AUGEND,X:STA DIVIDEND,X:DEX:BPL FLOW2:LDA #$03:STA SUBTRAHEND
- 1200 PLA:TAX:JSR DIVIDE:JSR CLRSQR:LDX LENGTH:DEX; NEED SQR OF 2*G^2/3
- 1210 FLOW3 LDA QUOTIENT,X:STA SQRO,X:DEX:BPL FLOW3:LDX LENGTH:JSR SQR
- 1220 LDX LENGTH:DEX
- 1230 FLOW4 LDA SQRT,X:STA FL,X:LDA G,X:STA F,X:DEX:BPL FLOW4
- 1240 LDY GY:LDA #<FL:LDX #>FL:JSR DISPLAY:LDA #$20:JSR CHROUT
- 1250 JSR TIME:LDA #$0D:JSR CHROUT
- 1260 ;
- 1270 NEWF SEC:LDA F:SBC #$01:STA F:BCS NEWF2:LDA F+1:SBC #$00:STA F+1:BCS NEWF2
- 1280 LDA F+2:SBC #$00:STA F+2:BCS NEWF2:LDA F+3:SBC #$00:STA F+3
- 1290 NEWF2 JSR CLEAR2:LDY GY:LDX #$00:SEC
- 1300 NEWF3 LDA F,X:SBC FL,X:INX:DEY:BNE NEWF3:BCS NEWF4
- 1310 ;
- 1320 SEC:LDA TWOCT:SBC TWO:BCS DOTWOS:LDA TWOCT+1:BNE DOTWOS:JMP NEWG
- 1330 DOTWOS JMP TWOS
- 1340 ;
- 1350 NEWF4 LDY GY:LDA #<F:LDX #>F:JSR DISPLAY:LDA #$20:JSR CHROUT:LDX GY:DEX
- 1360 NEWF5 LDA F,X:STA ADDEND,X:STA QUOTIENT,X:DEX:BPL NEWF5
- 1370 LDX GY:TXA:TAY:JSR MULTIPLY:TAX:DEX
- 1380 NEWF6 LDA AUGEND,X:STA F2,X:DEX:BPL NEWF6
- 1390 JSR CLEAR3:JSR CLRSQR:LDY GXY:LDX #$00:SEC; TEST SQRT OF A^2=G^2-F^2
- 1400 ;
- 1410 NEWA LDA G2,X:SBC F2,X:STA SQRO,X:INX:DEY:BNE NEWA
- 1420 LDX GXY:JSR SQR:PHP:LDY GY:LDA #<SQRT:LDX #>SQRT:JSR DISPLAY
- 1430 LDA #$20:JSR CHROUT:LDA #$0D:JSR CHROUT:LDA #$91:JSR CHROUT
- 1440 PLP:BEQ NEWAF:JMP NEWF; IF NOT PERFECT SQUARE, DO NEXT F
- 1450 ;
- 1460 NEWAF LDX GXY:DEX
- 1470 NEWAF2 LDA SQRO,X:STA A2,X:LDA SQRT,X:STA A,X:DEX:BPL NEWAF2
- 1480 LDA #$02:CMP TWO:BEQ NEWFL4:BCS NEWFL:JMP NEWAF3
- 1490 ;
- 1500 NEWFL STA TWO:JSR CLEAR3:JSR CLRSQR:LDX GXY:STX LENGTH:DEX:CLC
- 1510 NEWFL2 LDA G2,X:STA MINUEND,X:LDA F2,X:ROR:STA SUBTRAHEND,X
- 1520 DEX:BPL NEWFL2:JSR SUBTRACT:LDX GXY:DEX
- 1530 NEWFL3 LDA MINUEND,X:STA SQRO,X:DEX:BPL NEWFL3:BMI NEWFL6
- 1540 NEWFL4 JSR CLEAR3:JSR CLRSQR:LDX GXY:DEX:CLC; 3RD FLOW = SQR(G2/2)
- 1550 NEWFL5 LDA G2,X:ROR:STA SQRO,X:DEX:BPL NEWFL5:INC TWO
- 1560 NEWFL6 LDX GXY:JSR SQR:LDX GY:DEX
- 1570 NEWFL7 LDA SQRT,X:STA FL,X:DEX:BPL NEWFL7:LDA #$0D:JSR CHROUT:LDA #$1E
- 1580 JSR CHROUT:LDY GY:LDA #<G:LDX #>G:JSR DISPLAY:LDA #$20:JSR CHROUT
- 1590 LDY GY:LDA #<FL:LDX #>FL:JSR DISPLAY:LDA #$20:JSR CHROUT
- 1600 LDA #$20:JSR CHROUT:LDA #$9F:JSR CHROUT
- 1610 ;
- 1620 NEWAF3 LDY #$00:LDA GY:STA (TWOA),Y:TAX:TAY:DEX
- 1630 NEWAF4 LDA A,X:STA (TWOA),Y:DEX:DEY:BNE NEWAF4:CLC
- 1640 LDA TWOA:ADC GY:STA TWOA:BCC NEWAF5:INC TWOA+1
- 1650 NEWAF5 INC TWOA:BNE NEWAF6:INC TWOA+1
- 1660 NEWAF6 LDY #$00:LDA GY:STA (TWOA),Y:TAX:TAY:DEX
- 1670 NEWAF7 LDA F,X:STA (TWOA),Y:DEX:DEY:BNE NEWAF7:CLC
- 1680 LDA TWOA:ADC GY:STA TWOA:STA TOP:LDA TWOA+1:ADC #$00:STA TWOA+1:STA TOP+1
- 1690 INC TWOA:INC TOP:BNE NEWAF8:INC TWOA+1:INC TOP+1
- 1700 NEWAF8 INC TWOCT:BNE NEWAF9:INC TWOCT+1
- 1710 NEWAF9 LDA #$0D:JSR CHROUT:JMP NEWF
- 1720 ;
- 1730 TWOS LDA #<TABLE:STA TWOA:LDA #>TABLE:STA TWOA+1:JMP NEW2A2
- 1740 ;
- 1750 NEW2C LDY #$00:LDA (TWOC),Y:STA COUNT:INC COUNT:CLC
- 1760 LDA TWOC:ADC COUNT:STA TWOC:BCC NEW2C2:INC TWOC+1
- 1770 NEW2C2 SEC:LDA TWOC:SBC TOP:LDA TWOC+1:SBC TOP+1:BCS NEW2B:JMP TWOS2
- 1780 ;
- 1790 NEW2B LDY #$00:LDA (TWOB),Y:ASL:STA COUNT:INC COUNT:INC COUNT:CLC
- 1800 LDA TWOB:ADC COUNT:STA TWOB:LDA TWOB+1:ADC #$00:STA TWOB+1
- 1810 LDA TWOB:SEC:SBC TOP:LDA TWOB+1:SBC TOP+1:BCS NEW2A
- 1820 NEW2B2 LDY #$00:LDA (TWOB),Y:STA COUNT:INC COUNT:CLC
- 1830 LDA TWOB:ADC COUNT:STA TWOC:LDA TWOB+1:ADC #$00:STA TWOC+1:BNE NEW2C
- 1840 ;
- 1850 NEW2A LDY #$00:LDA (TWOA),Y:ASL:STA COUNT:INC COUNT:INC COUNT:CLC
- 1860 LDA TWOA:ADC COUNT:STA TWOA:LDA TWOA+1:ADC #$00:STA TWOA+1
- 1870 LDA TWOA:SEC:SBC TOP:LDA TWOA+1:SBC TOP+1:BCC NEW2A2:JMP NEWG
- 1880 NEW2A2 LDA TWOA:STA TWOB:LDA TWOA+1:STA TWOB+1:BNE NEW2B
- 1890 ;
- 1900 TWOS2 JSR CLEAR3:LDY #$08:LDA #$00; USE A2 FOR TEMP A, A FOR TEMP A2
- 1910 TWOS3 STA A,Y:DEY:BPL TWOS3:INY:LDA (TWOA),Y:TAY:TAX:DEX
- 1920 TWOS4 LDA (TWOA),Y:STA ADDEND,X:STA QUOTIENT,X:STA A2,X:DEX:DEY:BNE TWOS4
- 1930 LDA #$9F:JSR CHROUT:LDY GY:LDA #<ADDEND:LDX #>ADDEND:JSR DISPLAY
- 1940 LDA #$20:JSR CHROUT:LDY #$00:LDA (TWOA),Y:TAY:TAX:JSR MULTIPLY:TAX:DEX
- 1950 TWOS5 LDA AUGEND,X:STA A,X:DEX:BPL TWOS5:JSR CLEAR3
- 1960 LDY #$00:LDA (TWOB),Y:TAY:TAX:DEX; USE F2 FOR TEMP B, A FOR A2+B2
- 1970 TWOS6 LDA (TWOB),Y:STA ADDEND,X:STA QUOTIENT,X:STA F2,X:DEX:DEY:BNE TWOS6
- 1980 LDA #$1E:JSR CHROUT:LDY GY:LDA #<ADDEND:LDX #>ADDEND:JSR DISPLAY:LDA #$20
- 1990 JSR CHROUT:LDY #$00:LDA (TWOB),Y:TAY:TAX:JSR MULTIPLY:TAY:LDX #$00:CLC
- 2000 TWOS7 LDA AUGEND,X:ADC A,X:STA A,X:INX:DEY:BNE TWOS7:JSR CLEAR3
- 2010 LDY #$00:LDA (TWOC),Y:TAY:TAX:DEX; USE SQRT FOR TEMP C
- 2020 TWOS8 LDA (TWOC),Y:STA ADDEND,X:STA QUOTIENT,X:STA SQRT,X:DEX:DEY:BNE TWOS8
- 2030 LDA #$9E:JSR CHROUT:LDY GY:LDA #<ADDEND:LDX #>ADDEND:JSR DISPLAY
- 2040 LDA #$20:JSR CHROUT; NOW PUT A2+B2+C2 IN MINUEND, PRESERVING A2+B2 IN A
- 2050 LDY #$00:LDA (TWOC),Y:TAY:TAX:JSR MULTIPLY:TAY:LDX #$00:CLC
- 2060 TWOS9 LDA AUGEND,X:ADC A,X:STA MINUEND,X:INX:DEY:BNE TWOS9
- 2070 LDX GXY:STX LENGTH:DEX; TEST A2+B2+C2-G2=0 FOR THIS SMALLER C
- 2080 TWOS10 LDA G2,X:STA SUBTRAHEND,X:DEX:BPL TWOS10
- 2090 JSR SUBTRACT:BNE TWOS11:JMP OKAY
- 2100 TWOS11 JSR CLEAR3:LDY #$00:LDA (TWOC),Y:STA COUNT:INC COUNT:CLC
- 2110 LDA TWOC:ADC COUNT:STA TWOC:BCC TWOS12:INC TWOC+1
- 2120 TWOS12 LDY #$00:LDA (TWOC),Y:TAY:TAX:DEX; USE SQRT AGAIN FOR TEMP C
- 2130 TWOS13 LDA (TWOC),Y:STA ADDEND,X:STA QUOTIENT,X:STA SQRT,X:DEX:DEY
- 2140 BNE TWOS13:LDA #$96:JSR CHROUT:LDY GY:LDA #<ADDEND:LDX #>ADDEND
- 2150 JSR DISPLAY:LDA #$0D:JSR CHROUT:LDA #$9F:JSR CHROUT
- 2160 LDY #$00:LDA (TWOC),Y:TAY:TAX:JSR MULTIPLY:TAY:LDX #$00:CLC
- 2170 TWOS14 LDA AUGEND,X:ADC A,X:STA MINUEND,X:INX:DEY:BNE TWOS14
- 2180 LDX GXY:STX LENGTH:DEX; TEST A2+B2+C2-G2=0 FOR THIS LARGER C
- 2190 TWOS15 LDA G2,X:STA SUBTRAHEND,X:DEX:BPL TWOS15
- 2200 JSR SUBTRACT:BNE TWOS16:JMP OKAY
- 2210 TWOS16 JMP NEW2C
- 2220 ;
- 2230 OKAY LDA #$0D:JSR CHROUT:LDA #$91:JSR CHROUT:LDA #$96:JSR CHROUT
- 2240 LDY GY:LDA #<A2:LDX #>A2:JSR DISPLAY:LDA #$20:JSR CHROUT; DISPLAY A
- 2250 LDY GY:LDA #<F2:LDX #>F2:JSR DISPLAY:LDA #$20:JSR CHROUT; DISPLAY B
- 2260 LDY GY:LDA #<SQRT:LDX #>SQRT:JSR DISPLAY:LDA #$20:JSR CHROUT; DISPLAY C
- 2270 LDY GY:LDA #<G:LDX #>G:JSR DISPLAY:LDA #$0D:JSR CHROUT; DISPLAY G
- 2280 LDA #$9F:JMP CHROUT; EXIT THROUGH CHROUT TO BASIC AND QUIT
- 2290 ;
- 2300 RORBUF .BYTE 0 0 0 0 0 0 0 0 0 0 0
- 2310 BCDBUF .BYTE 0 0 0 0 0 0 0 0 0 0 0
- 2320 RESULT .BYTE 0 0 0 0 0 0 0 0 0 0 0
- 2330 ADDEND .BYTE 0 0 0 0 0 0 0 0 0
- 2340 AUGEND .BYTE 0 0 0 0 0 0 0 0 0
- 2350 SUBTRAHEND .BYTE 0 0 0 0 0 0 0 0 0
- 2360 MINUEND .BYTE 0 0 0 0 0 0 0 0 0
- 2370 QUOTIENT .BYTE 0 0 0 0 0 0 0 0 0
- 2380 DIVIDEND .BYTE 0 0 0 0 0 0 0 0 0; $35=CLEAR3
- 2390 A .BYTE 0 0 0 0 0 0 0 0 0
- 2400 A2 .BYTE 0 0 0 0 0 0 0 0 0
- 2410 F2 .BYTE 0 0 0 0 0 0 0 0 0; $50=CLEAR2
- 2420 F .BYTE 0 0 0 0 0 0 0 0 0
- 2430 FL .BYTE 0 0 0 0 0 0 0 0 0
- 2440 G2 .BYTE 0 0 0 0 0 0 0 0 0; $6B=CLEAR
- 2450 G .BYTE 64 0 0 0 0 0 0 0 0; LOAD PRIOR TO RUN
- 2460 SQRT .BYTE 0 0 0 0 0 0 0 0 0
- 2470 SQRO .BYTE 0 0 0 0 0 0 0 0 0
- 2480 TWO .BYTE 0
- 2490 TWOCT .BYTE 0 0
- 2500 GXY .BYTE 0
- 2510 GY .BYTE 0
- 2520 LENGTH .BYTE 0
- 2530 COUNT .BYTE 0
- 2540 SHIFT .BYTE 0
- 2550 SQUARE .BYTE 0
- 2560 TABLE .BYTE 0 0 0
- 2570 ;
- 2580 .END INTEGER BRICK
-